iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 29
0
自我挑戰組

Android App 初學者從零開始用Kotlin寫APP系列 第 29

<Day29>動手做 Demo App(上)

  • 分享至 

  • xImage
  •  

依據前面幾篇所學的,實作一個簡單的新增聯絡人名字Demo App

https://ithelp.ithome.com.tw/upload/images/20201011/20130598bHiaPDQ2gg.png

點擊新增按鈕跳出輸入框
https://ithelp.ithome.com.tw/upload/images/20201011/20130598sq7chcf5g5.png

點擊新增完成後會回到上一頁,顯示剛剛輸入的Peter

https://ithelp.ithome.com.tw/upload/images/20201011/20130598ys5iOm7qmz.png

再次新增聯絡人Ann
https://ithelp.ithome.com.tw/upload/images/20201011/20130598VaKmXDXZ5k.png

排序為新的資料由上而下排序
https://ithelp.ithome.com.tw/upload/images/20201011/2013059845rs9ldoNV.png


本篇會以layout與navigation 為主,下一篇為將資料存在app sql DB。

使用 constraintlayout與recyclerview,需import 在bulid.gradle
apply plugin: "androidx.navigation.safeargs.kotlin"

   dependencies { 
    
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation "androidx.recyclerview:recyclerview:1.1.0"
    // navigation component
    implementation "androidx.navigation:navigation-fragment-ktx:2.3.0"
    implementation "androidx.navigation:navigation-ui-ktx:2.3.0"
  }

首先在 主頁 MainActivity 的layout 上 使用navigation ,為之後頁面跳轉準備

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto" >

    <androidx.fragment.app.FragmentContainerView
        android:id="@+id/navHostFragment"
        android:name="androidx.navigation.fragment.NavHostFragment"
        app:defaultNavHost="true"
        app:navGraph="@navigation/nav_graph" />
</androidx.constraintlayout.widget.ConstraintLayout>

建立新增聯絡人與顯示聯絡人清單Fragment

<navigation xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/nav_graph.xml"
    app:startDestination="@id/mainFragment">

    <fragment
        android:id="@+id/mainFragment"
        ...............>
         ...............
    </fragment>

    <fragment
        android:id="@+id/addTodoFragment"
        .................>
     ...............
    </fragment>

</navigation>

這樣就可以新增聯絡人點選新增後
https://ithelp.ithome.com.tw/upload/images/20201011/20130598FT8R6PJzNW.png

跳到清單頁
https://ithelp.ithome.com.tw/upload/images/20201011/20130598Miuzuoe8Nq.png

用 recyclerView呈現清單 , 每個item layoput如下圖:
https://ithelp.ithome.com.tw/upload/images/20201012/20130598OUztntqhg5.png

新增 layoput如下圖:
https://ithelp.ithome.com.tw/upload/images/20201012/20130598IUidMlEExq.png

reference:https://www.notion.so/Navigation-component-9-9-Andy-a1245a1b31c5453fbf1b28f887ec0d73


上一篇
<Day28>Network-OkHttp
下一篇
<Day30>動手做 Demo App(下)
系列文
Android App 初學者從零開始用Kotlin寫APP30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言